#pragma once
#include <stdio.h>
#include <assert.h>
#include <stdlib.h>

typedef int ListDataType;
typedef struct ListNode
{
	struct ListNode* _next;
	struct ListNode* _prev;
	ListDataType _data;
}ListNode;

ListNode* ListInit();
void ListPushBack(ListNode* ps, ListDataType data);
void ListPushFront(ListNode* ps, ListDataType data);
void ListPopBack(ListNode* ps);
void ListPopFront(ListNode* ps);
ListNode* ListFind(ListNode* ps, ListDataType data);
void ListInsert(ListNode* pos, ListDataType data);
void ListErase(ListNode* pos);
void ListPrint(ListNode* ps);
